@echo off
setlocal enabledelayedexpansion

:menu
cls
echo ===========================================
echo   RAG 知识库系统 - 主菜单
echo ===========================================
echo 请选择操作:
echo   1. 启动RAG服务 (API + Web界面)
echo   2. 安装/更新依赖
echo   0. 退出
echo ===========================================
set /p choice=请输入选项(0-2): 

if "%choice%"=="1" goto start_services
if "%choice%"=="2" goto install_deps
if "%choice%"=="0" exit /b 0
goto menu

:start_services
cls
echo ===========================================
echo   启动RAG服务
echo ===========================================

:: 检查Python环境
echo 检查Python环境...
python --version >nul 2>&1
if %ERRORLEVEL% neq 0 (
    echo 错误: 未检测到Python，请确保已安装Python 3.8或更高版本
    pause
    goto menu
)

:: 检查pip
echo 检查pip...
pip --version >nul 2>&1
if %ERRORLEVEL% neq 0 (
    echo 错误: 未检测到pip，请确保已正确安装Python和pip
    pause
    goto menu
)

:: 检查配置文件
if not exist ".env" (
    echo 复制配置文件...
    copy .env.example .env
    echo 请编辑.env文件配置您的设置
    pause
)

:: 创建必要目录
if not exist "models" mkdir models
if not exist "uploads" mkdir uploads
if not exist "vector_store" mkdir vector_store

:: 检查GGUF模型
if exist ".env" (
    findstr /i "MODEL_TYPE=gguf" .env >nul 2>&1
    if !ERRORLEVEL! equ 0 (
        echo 检测到使用GGUF模型
        echo 请确保已将GGUF模型文件(.gguf)放入models目录
        echo 启动后可在Web界面中选择模型
        echo.
    )
)

:: 启动服务
echo 正在启动服务...
start "" cmd /k "title RAG API && python api.py"

echo 正在启动Web界面...
start "" cmd /k "title RAG Web UI && python app.py"

echo ===========================================
echo 服务已启动！
echo - API文档: http://localhost:7860/docs
echo - Web界面: http://localhost:7861
echo ===========================================
echo 按任意键返回主菜单...
pause >nul
goto menu

:install_deps
cls
echo ===========================================
echo   安装/更新依赖
echo ===========================================

echo 正在安装依赖...
pip install -r requirements.txt

if %ERRORLEVEL% equ 0 (
    echo.
    echo 依赖安装成功！
) else (
    echo.
    echo 依赖安装失败，请检查网络连接或手动安装
)

echo.
echo 按任意键返回主菜单...
pause >nul
goto menu
